简述
保证一个类只有一个实例,并提供一个访问它的全局访问点。
有一些对象往往我们只需要一个,那么这种场景适合使用单例模式。
用途
- 弹窗
- …
案例
假如我们要设计一个弹窗功能,为了节省资源,要求能够复用弹窗节点。
1 | var createLayer = (function () { |
优化
以上虽然实现一个可用的单例,但假如需求变为新建一个iframe,或者新建一个script标签呢?
复制照抄一遍实在是很low的做法,遵循单一职责原则,我们可以把不变的部分隔离开来。
1 | var getSingle = function (fn) { |